草庐IT

MySQL 查询和数据透视表

全部标签

c# - 我应该关注 linq 查询中的 "access to modified closure"吗?

我有一个显示错误的linq查询:如果集合的源是一个linq查询,每当我尝试访问我正在迭代的变量时,我都会看到这个错误。我想这个错误只是告诉我变量可能会改变,或者类似的东西? 最佳答案 此错误告诉您查询中对pubConfig的引用将使用pubConfig的值在评估查询时,而不是在您定义它并将其存储在pubConfigSettings中时。实际上,如果“当场”评估查询就没问题。如果您保留它供以后评估,而pubConfig的值在此期间发生变化,您将遇到意想不到的结果。 关于c#-我应该关注li

c# - 从 LINQ 查询结果返回单个属性

以下表达式返回一个联系人-具有数十个属性的整个联系人。这很好,但理想情况下,我希望返回的只是联系人的ID(contact.contactId)属性。我该怎么做?varassocOrg=Contacts.Where(x=>x.ContactTypeID==2&&x.OrganizationName=="COMPANYXYZ"); 最佳答案 varresult=Contacts.Where(x=>...).Select(x=>x.ContactID);或varresult=fromxinContactswherex.ContactTyp

c# - 从 linq to sql 中的子查询中选择前 1 个结果

下面是我的sql查询selectenq_Id,enq_FromName,enq_EmailId,enq_Phone,enq_Subject,enq_Message,enq_EnquiryBy,enq_Mode,enq_Date,ProductId,(selecttop1image_namefromtblProductImageasiwherei.product_id=p.product_Id)asimageName,p.product_Name,p.product_codefromtblEnquiryaseinnerjointblProductaspONe.ProductId=p.pr

c# - 使用 Distinct 和 Union 的 LINQ 查询

我目前有2个查询返回MyModel列表,如下所示:varq1=....selectnewMyModel(){TheData1=...TheData2=...TheUniqueID=...}varq2=....selectnewMyModel(){TheData1=...TheData2=...TheUniqueID=...}如果在第一季度我有:TheUniqueID=2,3,6,9,11在第二季度我有:TheUniqueID=2,4,7,9,12如何编写查询以便获得MyModel列表TheUniqueID=2,3,4,6,7,9,11,12换句话说,每个TheUniqueID只出现一次

c# - 使用 LINQ 查询获取索引值的集合

有更好的方法吗?string[]s={"zero","one","two","three","four","five"};varx=s.Select((a,i)=>new{Value=a,Index=i}).Where(b=>b.Value.StartsWith("t")).Select(c=>c.Index);即我正在寻找一种更有效或更优雅的方式来获取符合条件的项目的位置。 最佳答案 您可以轻松添加自己的扩展方法:publicstaticIEnumerableIndexesWhere(thisIEnumerablesource,F

c# - 如何在 C# 中转义字符串,以便在 LDAP 查询中使用

我有一个LDAP查询,我用它在C#中执行搜索。它使用两个字符串变量(用户名和域),出于安全原因需要对其进行转义。我应该如何转义字符串?C#.NET中是否有可用的函数来执行此操作?LDAP搜索条件示例:(objectCategory=person)(userprincipalname=username@domain*)(samaccountname=username)C#中的LDAP查询字符串示例:stringsearch="(&(&(objectCategory=person)(userprincipalname="+username+"@"+domain+"*)(samaccount

c# - 如何从 LINQ DataContext.SubmitChanges() 获取 TSQL 查询

我正在使用LinqtoSQL。我有一个DataContext,我正在对它进行.SubmitChanges()'ing。插入身份字段时出错,我想查看它用于插入此身份字段的查询。我没有在快速监视中看到查询本身;我在哪里可以从调试器中找到它? 最佳答案 许多人一直在编写自己的“DebugWriter”并像这样附加它://Addthisclasssomewhereinyourproject...classDebugTextWriter:System.IO.TextWriter{publicoverridevoidWrite(char[]bu

c# - 使用 Entity Framework 限制查询大小

这是一个简单的问题(我认为),但我一直没能找到解决方案。我知道对于其他类型的查询,您可以添加一个限制子句,使查询最多只返回那么多结果。这可以通过实体查询实现吗?varproductQuery=frombinsolutionContext.Versionwhereb.Product.ID!=1&&b.VersionNumber==b.Product.ActiveNumberorderbyb.Product.LastNumberselectb;我只想让这个查询只返回25个版本对象。感谢您的帮助。 最佳答案 当然..例如你可以这样做:va

c# - 如何通过参数化查询在数据库中插入空值

我有一个datetime数据类型:dttm数据库字段类型也是datatime现在我这样做:if(dttm.HasValue){cmd.Parameters.AddWithValue("@dtb",dttm);}else{//Itshouldinsertnullvalueintodatabase//throughcmd.Parameters.AddWithValue("@dtb",_____)}如何做到这一点。 最佳答案 这可以使用空合并运算符来完成:如果dttm的值为空,则DBNull.Value将被插入,否则将使用dttm的值cm

c# - 在 LINQ 查询 'if' 语句中实现条件 'where' 语句

我正在尝试找出一种在我的数据模型中查询对象的方法,并且只包含那些不为空的参数。如下所示:publicListGetWidgets(stringcond1,stringcond2,stringcond3){MyDataContextdb=newMyDataContext();Listwidgets=(fromwindb.Widgetswhere...ifcond1!=nullw.condition1==cond1......ifcond2!=nullw.condition2==cond2......ifcond3!=nullw.condition3==cond3...selectw).T